

# 两个人:
#     1. 姓名:张三, 年龄：28岁
#     2. 姓名:李四, 年龄：8岁
# 人的行为:
#    1. 教别人学东西 teach
#    2. 赚钱： work
#    3. 借钱：  borrow
#    4. 显示自己的信息： show_info
# 业务逻辑(发生的事情):
#    1. 张三 教 李四 学 python
#    2. 李四 教 张三 学 王者荣耀
#    3. 张三 上班赚了 1000 元钱
#    4. 李四 向 张三 借了 200 元
#    5. 28 岁的 张三 有 800  元，它学会的技能有: ['王者荣耀']
#    6. 8 岁的 李四 有 200  元，它学会的技能有: ['python']
#

class Human:
    def __init__(self, name, age):
        self.name = name  # 姓名
        self.age = age  # 年龄
        self.money = 0  # 钱数
        self.skill = []  # 技能列表
    #    1. 教别人学东西 teach
    def teach(self, other,  # other 接收技能的人
              subject):  # subject 技能
        other.skill.append(subject)
        print(self.name, '教', other.name, '学', subject)

    #    2. 赚钱： work
    def work(self, money):
        self.money += money
        print(self.name, '上班赚了', money, '元钱')

    #    3. 借钱：  borrow
    def borrow(self, other, money):
        if other.money < money:
            print(self.name, '向', other.name, '借钱失败！')
            return
        self.money += money
        other.money -= money
        print(self.name, '向', other.name, '借了', money, '元')

    #    4. 显示自己的信息： show_info
    def show_info(self):
        print(self.age, '岁的', self.name, '有', self.money,
              '元，它学会的技能有:', self.skill)

# 两个人:
zhang3 = Human('张三', 28)
#     1. 姓名:张三, 年龄：28岁
li4 = Human('李四', 8)
#     2. 姓名:李四, 年龄：8岁
# 人的行为:
#    1. 教别人学东西 teach
#    2. 赚钱： work
#    3. 借钱：  borrow
#    4. 显示自己的信息： show_info
# 业务逻辑(发生的事情):

#    1. 张三 教 李四 学 python
zhang3.teach(li4, "python")
#    2. 李四 教 张三 学 王者荣耀
li4.teach(zhang3, "王者荣耀")
#    3. 张三 上班赚了 1000 元钱
zhang3.work(1000)
#    4. 李四 向 张三 借了 200 元
li4.borrow(zhang3, 200)
#    5. 28 岁的 张三 有 800  元，它学会的技能有: ['王者荣耀']
zhang3.show_info()
#    6. 8 岁的 李四 有 200  元，它学会的技能有: ['python']
li4.show_info()